package com.dss.code_generation.util;


import com.dss.code_generation.enums.BaseEnum;

import java.util.stream.Stream;

/**
 * @Description: 枚举工具类
 * @author: dongshoushan
 * @date: 2021年12月06日 17:03
 */
public class EnumUtils {
    /**
     * 根据code获取desc
     *
     * @param clazz
     * @param code
     * @param <T>
     * @return
     */
    public static <T extends BaseEnum, V> String getDescByCode(Class<T> clazz, V code) {
        return Stream.of(clazz.getEnumConstants())
                .filter((v) -> ((V) v.getCode()).equals(code))
                .findFirst()
                .map(p -> p.getDesc())
                .orElse(null);
    }
}
